package com.easipass.framework.eirframeworkstream;


import org.springframework.cloud.stream.annotation.Input;
import org.springframework.cloud.stream.annotation.Output;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.SubscribableChannel;

public interface MessageProcess {

    String INPUT_SOURCE_MESSAGE = "input_source_message";

    String OUTPUT_SOURCE_MESSAGE = "output_source_message";

    String INPUT_SINK_MESSAGE = "input_sink_message";

    String OUTPUT_SINK_MESSAGE = "output_sink_message";

    @Output(INPUT_SOURCE_MESSAGE)
    MessageChannel sendSourceMessage();

    @Input(OUTPUT_SOURCE_MESSAGE)
    SubscribableChannel recieveSourceMessage();

    @Output(INPUT_SINK_MESSAGE)
    MessageChannel sendSinkMessage();

    @Input(OUTPUT_SINK_MESSAGE)
    SubscribableChannel recieveSinkMessage();
}
